[INFO] cloning repository https://github.com/delcin-raj/rfb_2_2024_8
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/delcin-raj/rfb_2_2024_8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdelcin-raj%2Frfb_2_2024_8", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdelcin-raj%2Frfb_2_2024_8'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 61a8cdadbda8523de5014be682e8ec5471687fae
[INFO] checking delcin-raj/rfb_2_2024_8 against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdelcin-raj%2Frfb_2_2024_8" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/delcin-raj/rfb_2_2024_8
[INFO] finished tweaking git repo https://github.com/delcin-raj/rfb_2_2024_8
[INFO] tweaked toml for git repo https://github.com/delcin-raj/rfb_2_2024_8 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/delcin-raj/rfb_2_2024_8 on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/delcin-raj/rfb_2_2024_8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/Cargo.toml: unused manifest key: workspace.workspace
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 97360a64fae0e1c18a5afca0f5f7b4a6cea21b8a00d6a7ef410b6aef2885be3f
[INFO] running `Command { std: "docker" "start" "-a" "97360a64fae0e1c18a5afca0f5f7b4a6cea21b8a00d6a7ef410b6aef2885be3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "97360a64fae0e1c18a5afca0f5f7b4a6cea21b8a00d6a7ef410b6aef2885be3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97360a64fae0e1c18a5afca0f5f7b4a6cea21b8a00d6a7ef410b6aef2885be3f", kill_on_drop: false }`
[INFO] [stdout] 97360a64fae0e1c18a5afca0f5f7b4a6cea21b8a00d6a7ef410b6aef2885be3f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 74391925488cb0712aa1ef8df740e11f4667577ddfd82f3e73fc70b785df9fc6
[INFO] running `Command { std: "docker" "start" "-a" "74391925488cb0712aa1ef8df740e11f4667577ddfd82f3e73fc70b785df9fc6", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.workspace
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling cc v1.0.98
[INFO] [stderr]    Compiling proc-macro2 v1.0.83
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling bitcoin-internals v0.3.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking bitcoin-io v0.1.2
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling bitcoin v0.32.2
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking hex-conservative v0.2.1
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking bech32 v0.11.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking bitcoin-units v0.1.2
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking bitcoin_hashes v0.14.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking dns-lookup v2.0.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking base58ck v0.1.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling secp256k1-sys v0.10.0
[INFO] [stderr]    Compiling bitcoinconsensus v0.105.0+25.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking secp256k1 v0.29.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking rust v0.1.0 (/opt/rustwide/workdir/rust)
[INFO] [stdout] warning: unused import: `dns_lookup::lookup_host`
[INFO] [stdout]  --> rust/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dns_lookup::lookup_host;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind`, `Error`, `Ipv6Addr`, `Write`, `fs::File`, and `str::FromStr`
[INFO] [stdout]  --> rust/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fs::File,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 4 |     io::{self, Error, ErrorKind, Write},
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 5 |     net::{IpAddr, Ipv6Addr},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 6 |     str::FromStr,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> rust/src/main.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]   |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `deserialize_partial`, and `serialize_hex`
[INFO] [stdout]   --> rust/src/main.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |          deserialize_partial,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         encode::{serialize_hex},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hash` and `sha256d`
[INFO] [stdout]   --> rust/src/main.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | use bitcoin::hashes::{sha256d, Hash};
[INFO] [stdout]    |                       ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> rust/src/main.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     todo!("Initially test with regtest with debug=net option");
[INFO] [stdout]    |     ---------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 78 |     todo!("then test with your local full node");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::panic` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dns_lookup::lookup_host`
[INFO] [stdout]  --> rust/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dns_lookup::lookup_host;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind`, `Error`, `Ipv6Addr`, `Write`, `fs::File`, and `str::FromStr`
[INFO] [stdout]  --> rust/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fs::File,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 4 |     io::{self, Error, ErrorKind, Write},
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 5 |     net::{IpAddr, Ipv6Addr},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 6 |     str::FromStr,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> rust/src/main.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]   |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `deserialize_partial`, and `serialize_hex`
[INFO] [stdout]   --> rust/src/main.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |          deserialize_partial,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         encode::{serialize_hex},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hash` and `sha256d`
[INFO] [stdout]   --> rust/src/main.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | use bitcoin::hashes::{sha256d, Hash};
[INFO] [stdout]    |                       ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> rust/src/main.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     todo!("Initially test with regtest with debug=net option");
[INFO] [stdout]    |     ---------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 78 |     todo!("then test with your local full node");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::panic` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> rust/src/main.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let version_msg = todo!("prepare version message");
[INFO] [stdout]     |                       -------------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 127 |     Ok(())
[INFO] [stdout]     |     ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> rust/src/main.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     todo!("The bitcoin node will keep sending you messages like ping, inv etc.,");
[INFO] [stdout]     |     ----------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 144 |     todo!("One of them will be your required block message");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::panic` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> rust/src/main.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn serialize_net_address(addr: &NetAddress) -> Vec<u8> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> rust/src/main.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn serialize_version_msg(msg: &VersionMessage) -> Vec<u8> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hex_string`
[INFO] [stdout]   --> rust/src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn hex_to_bytes(hex_string: &str) -> Result<Vec<u8>, std::num::ParseIntError> {
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hex_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> rust/src/main.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn request_block_message(hash: &str) -> Vec<u8> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> rust/src/main.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn create_message(command: &str, payload: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]   --> rust/src/main.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn create_message(command: &str, payload: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> rust/src/main.rs:59:14
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn is_verack(data: &[u8]) -> bool {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> rust/src/main.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let (mut stream, ip) = get_valid_ip().await.unwrap();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip6`
[INFO] [stdout]    --> rust/src/main.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let ip6 = match ip {
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ip6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version_msg`
[INFO] [stdout]    --> rust/src/main.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let version_msg = todo!("prepare version message");
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> rust/src/main.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let version_msg = todo!("prepare version message");
[INFO] [stdout]     |                       -------------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 127 |     Ok(())
[INFO] [stdout]     |     ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> rust/src/main.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     todo!("The bitcoin node will keep sending you messages like ping, inv etc.,");
[INFO] [stdout]     |     ----------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 144 |     todo!("One of them will be your required block message");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::panic` which comes from the expansion of the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> rust/src/main.rs:38:26
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn serialize_net_address(addr: &NetAddress) -> Vec<u8> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> rust/src/main.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn serialize_version_msg(msg: &VersionMessage) -> Vec<u8> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hex_string`
[INFO] [stdout]   --> rust/src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn hex_to_bytes(hex_string: &str) -> Result<Vec<u8>, std::num::ParseIntError> {
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hex_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> rust/src/main.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn request_block_message(hash: &str) -> Vec<u8> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> rust/src/main.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn create_message(command: &str, payload: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]   --> rust/src/main.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn create_message(command: &str, payload: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> rust/src/main.rs:59:14
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn is_verack(data: &[u8]) -> bool {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> rust/src/main.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let (mut stream, ip) = get_valid_ip().await.unwrap();
[INFO] [stdout]     |          ----^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> rust/src/main.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn get_block_payload(buffer: &[u8]) -> &[u8] {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> rust/src/main.rs:148:22
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn starts_with_magic(buffer: &[u8]) -> bool {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_VERSION` is never used
[INFO] [stdout]   --> rust/src/main.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const PROTOCOL_VERSION: i32 = 70015;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NetAddress` is never constructed
[INFO] [stdout]   --> rust/src/main.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct NetAddress {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VersionMessage` is never constructed
[INFO] [stdout]   --> rust/src/main.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct VersionMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGTEST_MAGIC` is never used
[INFO] [stdout]   --> rust/src/main.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const REGTEST_MAGIC: [u8; 4] = [0;4];// todo!(); 
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAINNET_MAGIC` is never used
[INFO] [stdout]   --> rust/src/main.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const MAINNET_MAGIC: [u8; 4] = [0;4];// todo!(); 
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_net_address` is never used
[INFO] [stdout]   --> rust/src/main.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn serialize_net_address(addr: &NetAddress) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_version_msg` is never used
[INFO] [stdout]   --> rust/src/main.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn serialize_version_msg(msg: &VersionMessage) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_bytes` is never used
[INFO] [stdout]   --> rust/src/main.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn hex_to_bytes(hex_string: &str) -> Result<Vec<u8>, std::num::ParseIntError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `request_block_message` is never used
[INFO] [stdout]   --> rust/src/main.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn request_block_message(hash: &str) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_message` is never used
[INFO] [stdout]   --> rust/src/main.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn create_message(command: &str, payload: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_verack` is never used
[INFO] [stdout]   --> rust/src/main.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn is_verack(data: &[u8]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomize_slice` is never used
[INFO] [stdout]   --> rust/src/main.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn randomize_slice<'a>(input: &'a [&'a str]) -> Vec<&'a str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DNS_SEEDS` is never used
[INFO] [stdout]   --> rust/src/main.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     const DNS_SEEDS: [&str; 4] = [
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `till_read_succeeds` is never used
[INFO] [stdout]   --> rust/src/main.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | async fn till_read_succeeds(stream: &mut TcpStream, buffer: &mut Vec<u8>) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_data_with_timeout` is never used
[INFO] [stdout]    --> rust/src/main.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 | async fn get_data_with_timeout(mut stream: &mut TcpStream, mut buffer: &mut Vec<u8>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_block_payload` is never used
[INFO] [stdout]    --> rust/src/main.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn get_block_payload(buffer: &[u8]) -> &[u8] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `starts_with_magic` is never used
[INFO] [stdout]    --> rust/src/main.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn starts_with_magic(buffer: &[u8]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> rust/src/main.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let (mut stream, ip) = get_valid_ip().await.unwrap();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip6`
[INFO] [stdout]    --> rust/src/main.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let ip6 = match ip {
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ip6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version_msg`
[INFO] [stdout]    --> rust/src/main.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let version_msg = todo!("prepare version message");
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> rust/src/main.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let (mut stream, ip) = get_valid_ip().await.unwrap();
[INFO] [stdout]     |          ----^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> rust/src/main.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn get_block_payload(buffer: &[u8]) -> &[u8] {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> rust/src/main.rs:148:22
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn starts_with_magic(buffer: &[u8]) -> bool {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_VERSION` is never used
[INFO] [stdout]   --> rust/src/main.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const PROTOCOL_VERSION: i32 = 70015;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NetAddress` is never constructed
[INFO] [stdout]   --> rust/src/main.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct NetAddress {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VersionMessage` is never constructed
[INFO] [stdout]   --> rust/src/main.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct VersionMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGTEST_MAGIC` is never used
[INFO] [stdout]   --> rust/src/main.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const REGTEST_MAGIC: [u8; 4] = [0;4];// todo!(); 
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAINNET_MAGIC` is never used
[INFO] [stdout]   --> rust/src/main.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const MAINNET_MAGIC: [u8; 4] = [0;4];// todo!(); 
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_net_address` is never used
[INFO] [stdout]   --> rust/src/main.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn serialize_net_address(addr: &NetAddress) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_version_msg` is never used
[INFO] [stdout]   --> rust/src/main.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn serialize_version_msg(msg: &VersionMessage) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_bytes` is never used
[INFO] [stdout]   --> rust/src/main.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn hex_to_bytes(hex_string: &str) -> Result<Vec<u8>, std::num::ParseIntError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `request_block_message` is never used
[INFO] [stdout]   --> rust/src/main.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn request_block_message(hash: &str) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_message` is never used
[INFO] [stdout]   --> rust/src/main.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn create_message(command: &str, payload: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_verack` is never used
[INFO] [stdout]   --> rust/src/main.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn is_verack(data: &[u8]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomize_slice` is never used
[INFO] [stdout]   --> rust/src/main.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn randomize_slice<'a>(input: &'a [&'a str]) -> Vec<&'a str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DNS_SEEDS` is never used
[INFO] [stdout]   --> rust/src/main.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     const DNS_SEEDS: [&str; 4] = [
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `till_read_succeeds` is never used
[INFO] [stdout]   --> rust/src/main.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | async fn till_read_succeeds(stream: &mut TcpStream, buffer: &mut Vec<u8>) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_data_with_timeout` is never used
[INFO] [stdout]    --> rust/src/main.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 | async fn get_data_with_timeout(mut stream: &mut TcpStream, mut buffer: &mut Vec<u8>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_block_payload` is never used
[INFO] [stdout]    --> rust/src/main.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn get_block_payload(buffer: &[u8]) -> &[u8] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `starts_with_magic` is never used
[INFO] [stdout]    --> rust/src/main.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn starts_with_magic(buffer: &[u8]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.18s
[INFO] running `Command { std: "docker" "inspect" "74391925488cb0712aa1ef8df740e11f4667577ddfd82f3e73fc70b785df9fc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74391925488cb0712aa1ef8df740e11f4667577ddfd82f3e73fc70b785df9fc6", kill_on_drop: false }`
[INFO] [stdout] 74391925488cb0712aa1ef8df740e11f4667577ddfd82f3e73fc70b785df9fc6
